package com.ctsi.djcloudmqtt.dto.http;

import com.fasterxml.jackson.annotation.JsonInclude;
import lombok.Data;
import lombok.experimental.FieldNameConstants;

@Data
@FieldNameConstants
@JsonInclude(JsonInclude.Include.NON_NULL)
public class DJHttpRequestParentDTO<T> {

    /**
     * 方法
     */
    String method;

    /**
     * 时间戳
     */
    Long timestamp;

    /**
     * 事务uuid
     * 事务（Transaction）的 UUID：表征一次简单的消息通信，如：增/删/改/查，云台控制等，可以是：
     * 1. 数据上报请求+数据上报响应
     * 2. 握手认证请求+响应+ack
     * 3.报警事件单向通知等，解决事务多并发和消息匹配的问题
     */
    String tid;


    /**
     * 事务uuid
     * 事务（Transaction）的 UUID：表征一次简单的消息通信，如：增/删/改/查，云台控制等，可以是：
     * 1. 数据上报请求+数据上报响应
     * 2. 握手认证请求+响应+ack
     * 3.报警事件单向通知等，解决事务多并发和消息匹配的问题
     */
    String bid;


    /**
     * 请求数据
     */
    private T data;


}
